In computer systems employing communications through modems, such as multimedia computer systems, window based applications employing windows native modes typically do not utilize a universal asynchronous receiver transmitter to communicate data through a modem. However, it is important in computer designs to provide legacy capability to allow use of old programs such as Disk Operating Systems (DOS) based software application programs to be run on windows based systems, such as Microsoft Windows.RTM. based operating systems to facilitate use of older and newer programming applications. For example, older games originally written for Disk Operating System based platforms are still prevalent and need to be accommodated to provide legacy for computer users. The DOS based applications typically use a UART to interface with a modem when receiving or transmitting data over the modem. Computer systems having modems that support both DOS and Windows based applications are therefore desirable. In such systems, a software application used in a host computer typically communicates through the host to a hardware based UART such as a 16550 type hardware UART which then communicates over a selected communication port to a modem.
Often, DOS based applications have set COM port addresses whereas Windows based applications typically have software drivers used to mimic UART interfaces and therefore Windows applications often do not require use of a hardware based UART. A problem arises with UARTs that are primarily hardware based since the real estate on modem boards and the cost of necessary circuitry including memory on modem boards can unnecessarily increase the cost of the system. Also, some systems use small interface buffers to help facilitate a smoother access and transfer of data by a host computer, however, the use of small buffer memory to reduce cost can result in inefficient use of host processor time by having to obtain the data more often or in smaller amounts resulting in undesirable interrupt of the host computer.
Therefore, a need exists for a lower cost UART emulation system that can be used in computers that facilitate compatibility with DOS based applications and Windows based applications. It would also be desirable, if such an UART emulation system used effective interrupt management to avoid unnecessary interruption of the host during use of the UART emulation stage.